﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

using ZhimeiSoft.CharmManager.DOL;

namespace ZhimeiSoft.CharmManager.Server.BLL.Interface
{
    public interface IEmployeeVacationBLL
    {
        /// <summary>
        /// 插入一条休假记录
        /// </summary>
        /// <param name="employeeVacation">信息类</param>
        /// <returns></returns>
        void InsertEmployeeVacation(DBEntityEmoloyeeVacation employeeVacation);
        /// <summary>
        /// 删除一条休假记录
        /// </summary>
        /// <param name="employeeVacation">信息类</param>
        /// <returns></returns>
        void DelEmployeeVacation(DBEntityEmoloyeeVacation employeeVacation);
        /// <summary>
        /// 更新一条休假记录
        /// </summary>
        /// <param name="employeeVacation">信息类</param>
        /// <returns></returns>
        void UpdateEmployeeVacation(DBEntityEmoloyeeVacation employeeVacation_old, DBEntityEmoloyeeVacation employeeVacation_new);
        /// <summary>
        /// 根据时间查询员工休假记录
        /// </summary>
        /// <param name="startDate">开始时间</param>
        /// <param name="endDate">结束时间</param>
        /// <param name="dsData">返回数据</param>
        /// <returns></returns>
        DataSet QueryEmployeeVacationDateTime(string startDate, string endDate);
        /// <summary>
        /// 根据员工ID和时间段查询休假记录
        /// </summary>
        /// <param name="employeeID">员工ID</param>
        /// <param name="startDate">开始时间</param>
        /// <param name="endDate">结束时间</param>
        /// <param name="dsData">返回数据</param>
        /// <returns></returns>
        DataSet QueryEmployeeVacationEmployeeID(int employeeID, string startDate, string endDate);
        /// <summary>
        /// 根据当天返回休假中的员工
        /// </summary>
        /// <param name="vacationDate">当前日期</param>
        /// <param name="state">休假状态</param>
        /// <param name="dsEmployeeVacation">返回数据集</param>
        /// <param name="error">错误信息</param>
        /// <returns></returns>
        DataSet QueryEmployeeVacationDay(string vacationDate, string state);
    }
}
